home *** CD-ROM | disk | FTP | other *** search
/ United Public Domain Gold 2 / United Public Domain Gold 2.iso / utilities / pu013.dms / pu013.adf / not_mine / gree2.S < prev    next >
Text File  |  2000-01-01  |  6KB  |  290 lines

  1. beg:
  2.  
  3. ; ----- graphics.library -----
  4. scrollraster=    -396
  5. setapen=    -342
  6. text=         -60
  7. setfont=     -66
  8. closefont=    -78
  9. move=         -240
  10. draw=        -246
  11. initbitmap=     -390
  12. initrastport=     -198
  13. clearscreen=    -48
  14. ; ----- exec.library     -----
  15. allocabs=    -204
  16. openlibrary=     -408
  17. closelibrary=     -414
  18. forbid=     -132
  19. permit=     -138
  20. ; ----- diskfont.library -----
  21. openfont=     -30
  22.  
  23. execbase=     $04
  24.  
  25. move.l        $4,execbase
  26. move.l        strt-nd,d0
  27. move.l        d0,d6
  28. move.l        #$02,d1
  29. jsr        -198(a6)
  30. tst.l        d0
  31. bne        cont
  32. rts
  33. cont:
  34. move.l        strt(pc),a0
  35. move.l        d0,a1
  36. move.l        a0,a4
  37. loop:
  38. move.b        (a0)+,(a1)+
  39. dbf        d6,loop
  40. jsr        (a4)
  41. rts
  42.  
  43. strt:
  44. movem.l     d0-d7/a0-a6,-(a7)
  45. ; ---- open graphics.library ----
  46. bchg        #1,$bfe001
  47. move.l        execbase,a6
  48. lea        gfxname,a1
  49. jsr        openlibrary(a6)
  50. move.l        d0,gfxbase
  51.  
  52. jsr        forbid(a6)        ; forbid multitasking
  53. move.w        #$0020,$dff096        ; stop sprite DMA
  54. bsr.L        setupcopper        ; copperliste setzen
  55. move.l        gfxbase,a0        ; copperliste einschalten
  56. add.l        #$32,a0
  57. move.w        #$0080,$dff096
  58. move.l        (a0),oldcopper
  59. move.l        #newcopper,(a0)
  60. move.w        #$8080,$dff096
  61. move.l        gfxbase,a6        ; bitmapstruktur
  62. lea        bitmap,a0        ; initialisieren
  63. move.l        #$02,d0
  64. move.l        #352,d1
  65. move.l        #200,d2
  66. jsr        initbitmap(a6)
  67. move.l        #$50000,plane1
  68. move.l        #$52260,plane1+4
  69. lea        rastport,a1
  70. jsr        initrastport(a6)
  71. move.l        #bitmap,r_bitmap
  72. lea        rastport,a1        ; Bildschirm loeschen
  73. jsr        clearscreen(a6)
  74. lea        rastport,a1
  75. move.l        #$01,d0            ; zeichenfarbe setzen
  76. jsr        setapen(a6)
  77. move.l        #$0a,d7            ; text ausgeben
  78. lea        texttab,a5
  79. textloop1:
  80. lea        rastport,a1
  81. move.l        (a5)+,d0
  82. move.l        (a5)+,d1
  83. jsr        move(a6)
  84. lea        rastport,a1
  85. move.l        (a5)+,d0
  86. move.l        (a5)+,a0
  87. jsr        text(a6)
  88. dbra        d7,textloop1
  89. move.w        #$4000,$dff09a        ; neuen irq einschalten
  90. move.l        $6c,oldirq
  91. move.l        #newirq,$6c
  92. move.w        #$c000,$dff09a
  93.  
  94. wait:
  95. btst        #6,$bfe001        ; linke maustaste ???
  96. bne.s        wait
  97. move.w        #$4000,$dff09a        ; auf alten irq zurueck
  98. move.l        oldirq,$6c
  99. move.w        #$c000,$dff09a
  100. move.l        execbase,a6
  101. move.l        gfxbase,a1        ; graphic.lib schliessen
  102. jsr        closelibrary(a6)
  103. move.l        gfxbase,a0        ; alte copperliste einschalten
  104. add.l        #$32,a0
  105. move.w        #$0080,$dff096
  106. move.l        oldcopper,(a0)
  107. move.w        #$8080,$dff096
  108. move.l        execbase,a6        ; multitasking erlauben
  109. jsr        permit(a6)
  110. move.w        #$8020,$dff096        ; sprite DMA einschalten
  111. movem.l        (a7)+,d0-d7/a0-a6
  112. error:
  113. rts
  114.  
  115.  
  116. newirq:
  117. movem.l        d0-d7/a0-a6,-(sp)
  118. bsr.L        setupcopper        ; goldene streifen bewegen
  119. lea        waitab+6,a0
  120. move.l        a0,a1
  121. add.l        ptr1,a0
  122. add.l        ptr2,a1
  123. lea        goldcol,a2
  124. move.l        #22,d2
  125. addloop2:
  126. move.w        (a2),(a0)
  127. move.w        (a2)+,(a1)
  128. add.l        #$08,a0
  129. add.l        #$08,a1
  130. dbra        d2,addloop2
  131. add.l        #$08,ptr1
  132. sub.l        #$08,ptr2
  133. cmp.l        #$00,ptr2
  134. bne.s        exity
  135. move.l        #24,ptr1
  136. move.l        #696,ptr2
  137. exity:
  138. move.l        gfxbase,a6        ; scrolling
  139. lea        rastport,a1
  140. move.l        #$0,d0
  141. clr.l        d1
  142. move.l        #0,d2
  143. move.l        #32,d3
  144. move.l        #351,d4
  145. move.l        #42,d5
  146. jsr        scrollraster(a6)
  147. lea        rastport,a1        ; zweites scrolling
  148. move.l        #$02,d0
  149. clr.l        d1
  150. move.l        #0,d2
  151. move.l        #160,d3
  152. move.l        #351,d4
  153. move.l        #168,d5
  154. jsr        scrollraster(a6)
  155. sub.b        #08,rows        ; schon 1 zeichen gescrollt
  156. bne.s        continue1
  157. move.b        #08,rows
  158. move.l        gfxbase,a6
  159. lea        rastport,a1
  160. move.l        #$02,d0
  161. jsr        setapen(a6)
  162. lea        rastport,a1
  163. move.l        #320,d0
  164. move.l        #38,d1
  165. bsr.s        text1
  166. lea        rastport,a1
  167. move.l        #320,d0
  168. move.l        #167,d1
  169. bsr.s        text1
  170. add.l        #$01,c_ptr
  171. cmp.l        #ende,c_ptr
  172. bne.s        continue1
  173. move.l        #scrollmsg,c_ptr
  174. continue1:
  175. movem.l        (sp)+,d0-d7/a0-a6
  176. dc.w        $4ef9
  177. oldirq:
  178. dc.l    0
  179.  
  180. text1:
  181. jsr        move(a6)        ; naechstes zeichen aus scroll
  182. lea        rastport,a1        ; text ausgeben
  183. move.l        c_ptr,a0
  184. move.l        #1,d0
  185. jsr        text(a6)
  186. rts
  187.  
  188. setupcopper:
  189. lea        waitab,a0
  190. move.l        #111,d0
  191. move.w        #$5809,d1
  192. addloop1:
  193. move.w        d1,(a0)+        ; WAIT
  194. move.w        #$fffe,(a0)+        ; alle bits beachten
  195. move.w        #$0182,(a0)+        ; Farbe 1
  196. move.w        #$0000,(a0)+        ; schwarz
  197. add.w        #$0100,d1        ; naechste rasterzeile
  198. dbra        d0,addloop1
  199. rts
  200.  
  201. goldcol:
  202. dc.w    $420,$430,$440,$450,$460,$470,$a80,$b90,$ca0,$db1,$ec2,$fd3
  203. dc.w    $ec2,$db1,$ca0,$b90,$a80,$970,$860,$750,$640,$530,$420
  204.  
  205. newcopper:
  206. dc.w $0100,$0000,$0182,$0fff
  207. dc.w $0182,$0fff,$0186,$0fff
  208. dc.w $008e,$2c81,$0090,$f4c1
  209. dc.w $0092,$0038,$0094,$00d0
  210. dc.w $0108,$0004,$010a,$0004
  211. dc.w $0102,$0000,$0104,$0000
  212. dc.w $0100,$2200,$00e0,$0005
  213. dc.w $00e2,$0000,$00e4,$0005
  214. dc.w $00e6,$2260
  215. waitab:
  216. blk.w 448,0    
  217. even
  218. scrollmsg:
  219. DC.B    "REPLICA COPY CREW PROUDLY PRESENTS SOME NEW STUFF FOR YOU !!"
  220. DC.B    " SOME GREETINGS GO TO OUR FRIENDS AND CONTACTS :R & W SOFT "
  221. DC.B    "UNITED FREAKS INTERNATIONAL  B&B  TIGERCREW  DE VEGT  KSCS "
  222. DC.B    " FAC  TND  HQC (NICE INTRO !!) BAMIGA SECTOR ONE  THE KENT "
  223. DC.B    "TEAM  AMIGO (PLEASE WRITE BACK !!)  HI JOHN (HOW ABOUT THIS)"
  224. DC.B    " AND TO INTRUDER (GET IN CONTACT WITH ME !!!) ONLY ONE ANTI-"
  225. DC.B    "GREETING !!! TO THAT NOT SO FRESH 'GEE' IF YOU WANT SOME CU"
  226. DC.B    "STOMERS ,KEEP YOUR PROMISES !!!! (BIG MOUTH !!!!!!!!!!!!!"
  227. DC.B    "                                "
  228. DC.B    " IF YOU LIKE TO GET IN TOUCH WITH ME ,WRITE TO ............"
  229. DC.B    "GINO WIEMANN  JENSEMAHEERD 151  9736 CK GRONINGEN (HOLLAND)"
  230. ende:
  231. dc.w    0
  232. even
  233. it1:
  234. DC.B    "           REPLICA COPY CREW             "
  235. it2:
  236. DC.B    "            Present in 1987              "
  237. it3:
  238. DC.B    "      SOME REAL NEW STUFF FOR YOU        "
  239. it4:     
  240. dc.b    "AS ALWAYS SOME GREETINGS TO OUR FRIENDS "
  241. it5:
  242. dc.b    "AND SOME GROUPS : R&W-SOFT  DR.WHO  FAC "
  243. it6:
  244. dc.b    "DE VEGT  TIGER-CREW  KSCS  BS1  TKT  UFI"
  245. it7:
  246. dc.b    "AMIGO  BART&BARON  BWB  BOBO  TRIAD  FP"
  247. it8:
  248. dc.b    "HEADBANGER  TND  ANC  BST  HOTLINE   CC"
  249. it9:
  250. dc.b    "NO ONE  THE BLOCKHEADS  AND TO EVERYONE "
  251. it10:
  252. dc.b    "   A MERRY X-MAS AND A HAPPY NEW YEAR   "
  253. it11:
  254. dc.b    "    LOOK OUT FOR OTHER STUFF FROM US    "
  255. it12:
  256. dc.b
  257. it13:
  258. dc.b
  259. even
  260. gfxbase:
  261. dc.l     0
  262. bitmap:
  263. blk.w     4,0
  264. plane1:
  265. blk.l     10,0
  266. rastport:
  267. blk.l     1,0
  268. r_bitmap:
  269. blk.l     26,0
  270. oldcopper:
  271. dc.l     0
  272. gfxname:
  273. dc.b     "graphics.library",0
  274. rows:
  275. dc.b    2
  276. even
  277. c_ptr:
  278. dc.l    scrollmsg
  279. ptr1:
  280. dc.l    24
  281. ptr2:
  282. dc.l    696
  283. texttab:
  284. dc.l    0,58,it2-it1,it1,0,66,it3-it2,it2,0,76,it4-it3,it3
  285. dc.l    0,86,it5-it4,it4,0,94,it6-it5,it5,0,102,it7-it6,it6
  286. dc.l    0,110,it8-it7,it7,0,118,it9-it8,it8,0,126,it10-it9
  287. dc.l    it9,0,134,it11-it10,it10,0,142,it12-it11
  288. dc.l    it11,0,150,it13-it12
  289. nd:
  290.